package chainOfResponsibility.fromKanYun;

public class Test {
    public static void main(String[] args) {
        MyHandler h1 = new MyHandler("技术总监");
        MyHandler h2 = new MyHandler("项目经理");
        MyHandler h3 = new MyHandler("程序猿");

        /**
         * 如果没有下家，将会自己处理
         */
        h1.opetator();
        /**
         * 只要有下家，就传给下家处理
         *
         * 这样，原本是技术总监自行处理的BUG，现在一层一层的把责任推给了程序猿去处理
         */
        h1.setHandler(h2);
        h2.setHandler(h3);
        h1.opetator();
        /**
         * ps:责任链不是链表，链表有个头结点，每次必需通过头结点才能访问后面的结点
         * 而责任链它可以从头访问，也可以从中间开始访问。
         */
        h2.opetator();

    }
}
